package com.xishu.bo;

import com.xishu.annotation.dao.DefaultValue;
import com.xishu.entity.AbstractEntity;
import com.xishu.entity.order.OrderItem;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class PayOrder extends AbstractEntity implements Serializable {
    private static final long serialVersionUID = -8477676663054519121L;

    @ApiModelProperty(value = "订单ID")
    private Long orderId;

    @ApiModelProperty(value = "分店ID")
    private Long shopId;

    @ApiModelProperty(value = "优惠卷码列表")
    private List<String> ticketCodeList = new ArrayList<>();

    @ApiModelProperty(value = "用户要付多少钱")
    private Double userCost;

    @ApiModelProperty(value = "分菜结账要付钱的菜列表")
    private List<OrderItem> orderItemDetailList;

    @ApiModelProperty(value = "分菜结账的子订单ID")
    private Integer subOrderId;

    @ApiModelProperty(value = "支付类型，只有APPLE PAY 6, GOOGLE PAY 7, MASTER CARD 3, VISA 4")
    public Integer payType;

    @ApiModelProperty(value = "会员的ID")
    public Long customerId;

    @ApiModelProperty(value = "具体的小费")
    private Double tipsFee;

    @ApiModelProperty(value = "eft支付")
    @DefaultValue(defaultValue = "false")
    private Boolean eftPay;

    public Boolean getEftPay() {
        return eftPay;
    }

    public void setEftPay(Boolean eftPay) {
        this.eftPay = eftPay;
    }

    public Double getTipsFee() {
        return tipsFee;
    }

    public void setTipsFee(Double tipsFee) {
        this.tipsFee = tipsFee;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Integer getSubOrderId() {
        return subOrderId;
    }

    public void setSubOrderId(Integer subOrderId) {
        this.subOrderId = subOrderId;
    }

    public List<OrderItem> getOrderItemDetailList() {
        return orderItemDetailList;
    }

    public void setOrderItemDetailList(List<OrderItem> orderItemDetailList) {
        this.orderItemDetailList = orderItemDetailList;
    }

    public Double getUserCost() {
        return userCost;
    }

    public void setUserCost(Double userCost) {
        this.userCost = userCost;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public List<String> getTicketCodeList() {
        return ticketCodeList;
    }

    public void setTicketCodeList(List<String> ticketCodeList) {
        this.ticketCodeList = ticketCodeList;
    }
}
